맨위로가기

키홀 마크업 언어

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

키홀 마크업 언어(KML)는 가상 지구 브라우저에서 지리 공간 데이터를 표시하기 위한 XML 기반 마크업 언어이다. KML 2.2는 개방형 지리 공간 컨소시엄(OGC)에 의해 표준으로 채택되었으며, 2015년 KML 2.3 표준이 발표되었다. KML은 원래 Keyhole Markup Language의 약자였으나 OGC 표준 채택 이후 단어 자체로 사용된다. KML은 지리 공간 소프트웨어에서 지도에 표시할 수 있는 위치, 이미지, 다각형, 3D 모델 등의 기능을 정의하며, KMZ 파일 형식으로 배포되기도 한다. KML은 경도, 위도, 고도를 기준으로 하는 3차원 지리 좌표계를 사용하며, 구글 어스, 구글 지도 등 다양한 응용 프로그램에서 활용된다.

더 읽어볼만한 페이지

  • 지리 정보 시스템 파일 형식 - 지리 마크업 언어
    지리 마크업 언어(GML)는 지리 정보를 전송 및 저장하기 위한 XML 기반 마크업 언어이며, 개방형 공간 정보 컨소시엄(OGC)에서 관리하는 국제 표준으로 ISO 19136:2007로 채택되었다.
  • XML 마크업 언어 - 스케일러블 벡터 그래픽스
    스케일러블 벡터 그래픽스(SVG)는 W3C가 개발한 XML 기반의 마크업 언어로, 웹에서 벡터 그래픽을 표현하며, 확대/축소 시 화질 저하가 없고, 다양한 그래픽 기능과 텍스트 표현, 메타데이터 지원 등을 제공한다.
  • XML 마크업 언어 - 무선 마크업 언어
    무선 마크업 언어(WML)는 초기 무선 인터넷 환경에서 텍스트 기반 콘텐츠를 위해 고안된 마크업 언어였으나, 스마트폰과 웹 기술 발전으로 사용이 제한적이다.
  • 오픈 포맷 - HTML
    HTML은 웹 페이지 제작을 위한 표준 마크업 언어로서, 팀 버너스리가 제안하고 구현한 후 인터넷 발전과 함께 널리 사용되며, SGML에 기반하여 하이퍼텍스트 기능으로 다양한 콘텐츠를 표현하고 연결하며, W3C와 WHATWG에서 표준화를 진행하고 최신 버전은 HTML Living Standard이다.
  • 오픈 포맷 - 오픈 소스
    오픈 소스는 제품 설계 및 재배포를 장려하는 모델로, 소프트웨어 개발에서 시작하여 개방형 협업을 장려하며 다양한 분야에서 활용되고 있고 오픈 소스 이니셔티브와 같은 단체가 운동을 지원한다.
키홀 마크업 언어 - [IT 관련 정보]에 관한 문서
개요
유형GIS 파일 포맷
개발자키홀 (기업), 구글
확장자.kml, .kmz
MIME 형식application/vnd.google-earth.kml+xml, application/vnd.google-earth.kmz
기반XML
URLKML 표준 (Open Geospatial Consortium)
설명
용도인터넷 기반 지도에서 지리적 주석 및 시각화를 표현하기 위한 표기법
지원 프로그램Marble, QGIS, ArcGIS Pro

2. 역사

KML은 원래 '''Keyhole Markup Language'''의 두문자어였지만, 개방형 공간 정보 컨소시엄(OGC)에 채택되면서 약어가 아닌 단어로 취급되었다. Keyhole은 구글 어스의 옛 명칭이며, 개발 회사가 구글에 합병되기 전의 이름이다. Keyhole이라는 명칭은 정찰 위성코로나의 기종(KH)에서 유래했다.

2. 1. 개발 배경

KML이라는 명칭은 원래 '''Keyhole Markup Language'''의 두문자어였지만, 개방형 공간 정보 컨소시엄(OGC)에 채택되면서 약어가 아닌 단어로 취급되었다. Keyhole은 현재의 구글 어스의 옛 명칭이며, 그 개발원이 구글 사와 합병하기 전의 회사명이기도 하다. Keyhole이라는 명칭은 정찰 위성코로나의 기종(KH)에 기인한다.

2. 2. OGC 표준 채택

KML 2.2 사양은 모든 지구 브라우저를 위한 개방형 표준으로서의 지위를 확보하기 위해 개방형 지리 공간 컨소시엄(OGC)에 제출되었다. 2007년 11월, KML 2.2를 OGC 표준으로 공식화하기 위해 OGC 내에 새로운 KML 2.2 표준 작업 그룹이 설립되었다. 2008년 1월 4일까지 제안된 표준에 대한 의견을 수렴했으며,[9] 2008년 4월 14일에 공식 OGC 표준이 되었다.[10]

OGC KML 표준 작업 그룹은 KML 2.2에 대한 변경 요청 작업을 완료하고 승인된 변경 사항을 KML 2.3 표준에 통합했다.[11] 공식 OGC KML 2.3 표준은 2015년 8월 4일에 발표되었다.[12]

3. 구조

KML 파일은 지리 공간 소프트웨어의 지도에 표시할 수 있는 장소, 이미지, 다각형, 3D 모델, 텍스트 설명 등 일련의 기능을 지정한다. 모든 장소는 경도위도를 가지며, 기울기, 방위각 또는 고도와 같은 보기를 더 구체적으로 만들 수 있다. 이러한 정보들은 타임스탬프 또는 시간 범위와 함께 "카메라 뷰"를 정의한다. KML은 지리 마크업 언어(GML)와 동일한 구조적 문법을 공유한다.[15] 그러나 일부 KML 정보는 구글 맵스나 모바일에서 볼 수 없다.[16]

KML 파일은 주로 '''KMZ''' 파일 형태로 배포되는데, 이는 압축된 KML 파일이다. KMZ 파일은 단일 루트 KML 문서("doc.kml")와 KML에서 참조되는 오버레이, 이미지, 아이콘 및 COLLADA 3D 모델을 선택적으로 포함한다. 일반적으로 루트 KML 문서는 "doc.kml" 파일이며, 이 파일이 열릴 때 로드된다.

KML은 XML을 사용하여 구글 어스, 구글 지도, 구글 모바일에서 표시할 요소를 기술하며, 3차원 모델은 COLLADA 형식으로 기술할 수 있다. 각 지점은 항상 오른손 좌표계의 경도 정보를 가진다.

3. 1. 요소

KML 파일은 위치 마크, 이미지, 다각형, 3D 모델, 텍스트 설명 등 피처(feature)들의 집합을 기술한다. 각각의 지형 위치는 경도위도를 가지며, 기울기, 헤딩, 고도 등 뷰를 더 상세히 정의할 수 있는 데이터도 넣을 수 있는데, 이들 수치가 모여 하나의 "카메라 뷰"를 구성한다. KML은 GML과 같은 구조적 문법을 공유한다.[15] 일부 KML 정보는 구글 맵스나 모바일에서 볼 수 없다.[16]

KML은 대개 KMZ 파일 형식으로 배포되는데, KMZ는 KML을 압축한 파일이다.

다음은 KML 문서의 예제이다.

```xml







New York City

New York City



-74.006393,40.714172,0







```

KML에 대한 MIME 타입은 `application/vnd.google-earth.kml+xml`이며, KMZ에 대한 마임 타입은 `application/vnd.google-earth.kmz`이다.

3. 2. 파일 형식

KML 파일은 위치 마크, 이미지, 다각형, 3D 모델, 텍스트 설명 등 피처(feature)들의 집합을 기술한다.[15] 각 지형 위치는 경도위도를 가지며, 기울기, 헤딩, 고도 등 뷰를 더 상세히 정의할 수 있는 데이터도 넣을 수 있는데, 이들 수치가 모여 하나의 "카메라 뷰"를 구성한다. KML은 GML과 같은 구조적 문법을 갖는다.[15] 일부 KML 정보는 구글 맵스나 모바일에서 볼 수 없다.[16]

KML은 대개 KML의 데이터 압축 파일인 "KMZ" 파일 형식으로 배포된다.

다음은 KML 문서의 예제이다.

```xml







New York City

New York City



-74.006393,40.714172,0







```

KML에 대한 MIME 타입은 `application/vnd.google-earth.kml+xml`이며, KMZ에 대한 마임 타입은 `application/vnd.google-earth.kmz`이다. KMZ 파일은 .kmz 확장자를 가진 압축된 KML 파일로, 내용은 단일 루트 KML 문서(개념상 "doc.kml")와 KML에서 참조되는 오버레이, 이미지, 아이콘 및 COLLADA 3D 모델을 선택적으로 포함한다.

3. 3. MIME 타입

KML의 MIME 타입은 `application/vnd.google-earth.kml+xml`이며, KMZ의 MIME 타입은 `application/vnd.google-earth.kmz`이다.[15]

3. 4. KML 문서 예제

다음은 KML 문서의 예시이다.

```xml









New York City

New York City



-74.006393,40.714172,0









```

KML과 관련된 MIME 유형은 ''application/vnd.google-earth.kml+xml''이고, KMZ와 관련된 MIME 유형은 ''application/vnd.google-earth.kmz''이다.[15]

4. 측지학적 레퍼런스 시스템

KML은 기준 좌표계로 경도, 위도, 고도 순으로 3차원 지리 좌표를 사용하며, 서쪽, 남쪽, 평균 해수면 아래는 음수 값을 쓴다. 경도/위도 구성 요소(십진수 도)는 1984년 세계 측지계(WGS84)에 의해 정의된다. 수직 구성 요소인 고도는 WGS84 EGM96 지오이드 수직 기준에서 미터 단위로 측정된다. 좌표 문자열에서 고도가 생략된 경우, 고도는 기본값으로 0을 갖는다. (해수면 높이와 거의 일치한다.) KML이 사용한 좌표 레퍼런스 시스템에 대한 포멀한 정의는 OGC KML 2.2 스펙에 들어 있다.[8]

4. 1. 좌표계

KML은 3차원 지리 좌표계를 사용하며, 경도, 위도, 고도 성분으로 구성된다. 경도와 위도는 1984년 세계 측지계(WGS84)를 기준으로 하며, 서쪽과 남쪽은 음수 값을 가진다. 고도는 WGS84 EGM96 지오이드 수직 기준에서 미터 단위로 측정되며, 평균 해수면 아래는 음수 값을 가진다.

좌표 문자열에서 고도가 생략된 경우에는 기본값 0 (대략 해수면 높이)을 가진다. 예를 들어, (-122.917, 49.2623)와 같이 고도가 생략되면 (-122.917, 49.2623, 0)으로 간주된다.

KML에서 사용되는 좌표 참조 시스템의 공식 정의는 OGC KML 2.2 사양에 포함되어 있으며, EPSG CRS 구성 요소를 참조한다.[8]

KML은 좌표의 전제가 되는 측지 기준계 정의를 지원하지 않기 때문에, 지오매틱스나 측지학 등 전문적인 용도로는 사용할 수 없다.

4. 2. 한계

KML은 3차원 지리 좌표계를 사용하며, 이 좌표계는 경도, 위도, 고도로 구성된다. 경도와 위도는 1984 World Geodetic System (WGS84)을 기준으로 정해진다. 고도는 WGS84 EGM96 지오이드 버티칼 데이텀을 기준으로 정해진다. 좌표 문자열에서 고도가 생략되면 기본값은 0이다. (해수면 높이와 거의 일치) 예를 들어 (-122.917, 49.2623) 좌표는 (-122.917, 49.2623, 0)과 같다. KML 좌표 레퍼런스 시스템의 공식 정의는 OGC KML 2.2 스펙에 포함되어 있으며, EPSG CRS 구성 요소를 참조한다.

KML은 좌표의 전제가 되는 측지 기준계 정의를 지원하지 않기 때문에, 지오매틱스나 측지학 등 전문적인 용도로는 사용할 수 없다.

5. KML을 사용하는 응용 프로그램

KML은 구글 어스, 구글 지도, 구글 모바일 등에서 사용되는 파일 형식이다. 구글 지도 검색창에 KML 파일의 URL을 입력하면 바로 로딩된다.[17]

다음은 KML을 사용하는 대표적인 프로그램 목록이다.

프로그램 이름설명
ArcGIS 익스플로러
피처 매니퓰레이션 엔진
플리커
라이브 서치 맵스
마이크로소프트 버추얼 어스
맵 마이 앤세스터즈
Mapufacture
마블 (KDE)
오픈레이어즈
플라샬
[http://www.routebuddy.com 라우트버디 포 맥]
위키매피아
월드 윈드
야후! 파이프
SuperMap iServer (SuperMap IS) .NET and Java
[https://web.archive.org/web/20130115082938/http://www.openlapi.com/ OpenLAPI]Location API for Java ME의 GNU 약소 일반 공중 사용 허가서(LGPL) 구현
맵퍼처
NASA 월드 윈드


5. 1. 구글 서비스

KML 파일은 구글 어스, 구글 지도, 구글 모바일 등에서 쓰인다.[17] 구글 지도의 검색창에 KML 파일의 URL을 입력하면 KML 파일이 바로 로딩된다.[17]

5. 2. 기타 응용 프로그램

KML 파일은 구글 어스, 구글 지도(구글 맵스), 구글 모바일 등에서 쓰인다. 구글 지도의 검색창에 KML 파일의 URL을 입력하면 KML 파일이 바로 로딩된다.[17]

KML을 지원하는 응용 프로그램은 다음과 같다:

  • ArcGIS 익스플로러
  • 피처 매니퓰레이션 엔진
  • 플리커
  • 구글 어스
  • 구글 모바일 - 구글의 서비스 목록
  • 라이브 서치 맵스
  • 마이크로소프트 버추얼 어스
  • 맵 마이 앤세스터즈
  • Mapufacture
  • 마블 (KDE)
  • 오픈레이어즈
  • 플라샬
  • [http://www.routebuddy.com 라우트버디 포 맥]
  • 위키매피아
  • 월드 윈드
  • 야후! 파이프
  • SuperMap iServer (SuperMap IS) .NET and Java
  • [https://web.archive.org/web/20130115082938/http://www.openlapi.com/ OpenLAPI] - Location API for Java ME의 GNU 약소 일반 공중 사용 허가서(LGPL) 구현.
  • 맵퍼처
  • NASA 월드 윈드

5. 3. 대한민국 내 활용

KML 파일은 구글 어스, 구글 지도 등에서 쓰인다.[17]

6. 파서

구글 어스(위성 사진, 항공 사진 배경 위에 표시), 구글 지도(기능 제한이 있으며, 파일을 공개 사이트에 두어야 함), OpenLayers(KML 관련 기능 제한이 있음) 등의 애플리케이션에서 KML 및 KMZ를 파싱(해석)하여 지도상에 표시하는 기능을 제공한다.

참조

[1] 웹사이트 OGC® Approves KML as Open Standard https://web.archive.[...] 2008-04-14
[2] 웹사이트 KML http://www.opengeosp[...] 2018-11-20
[3] 웹사이트 KML Support in Marble http://marble.kde.or[...] 2018-11-20
[4] 웹사이트 Import from KML. QGIS 2.0 Workshop. https://maps.cga.har[...]
[5] 웹사이트 KML layers. ArcGIS Pro 3.4 https://pro.arcgis.c[...]
[6] 웹사이트 KML content isn't available in Google Maps https://support.goog[...] 2020-01-26
[7] 웹사이트 KMZ Files https://code.google.[...] Google for Developers 2009-12-16
[8] 서적 OGC KML http://portal.openge[...] Open Geospatial Consortium, Inc. 2008-04-14
[9] 간행물 The OGC Seeks Comment on OGC Candidate KML 2.2 Standard http://www.opengeosp[...] Open Geospatial Consortium 2007-12-04
[10] 웹사이트 Google mapping spec now an industry standard https://web.archive.[...] CNET 2008-04-14
[11] 웹사이트 OGC KML 2.3 SWG http://www.opengeosp[...] OGC 2013-10-07
[12] 웹사이트 OGC KML 2.3 Standard http://docs.opengeos[...] OGC 2015-08-04
[13] 문서 OGC KML http://www.opengeosp[...]
[14] 문서 구글 어스의 당시 이름은 키홀 어스 뷰어({{lang|en|Keyhole Earth Viewer}})였다.
[15] 웹인용 Create account at Blog.com https://web.archive.[...] 2008-08-28
[16] 문서 Viewing data from Google Earth - Maps Help http://maps.google.c[...]
[17] 웹인용 Google Map의 KML지원이 강화되었다. http://aero.dnip.net[...] 2008-08-28



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com